﻿// Decompiled with JetBrains decompiler
// Type: TaleWorlds.MountAndBlade.TacticalDecision
// Assembly: TaleWorlds.MountAndBlade, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: D5209D1B-76B5-47CA-B957-255CD4B2CE6B
// Assembly location: D:\steam\steamapps\common\Mount & Blade II Bannerlord\bin\Win64_Shipping_Client\TaleWorlds.MountAndBlade.dll

using TaleWorlds.Engine;

#nullable disable
namespace TaleWorlds.MountAndBlade
{
  public struct TacticalDecision
  {
    public TacticComponent DecidingComponent { get; private set; }

    public byte DecisionCode { get; private set; }

    public Formation SubjectFormation { get; private set; }

    public Formation TargetFormation { get; private set; }

    public WorldPosition? TargetPosition { get; private set; }

    public MissionObject TargetObject { get; private set; }

    public TacticalDecision(
      TacticComponent decidingComponent,
      byte decisionCode,
      Formation subjectFormation = null,
      Formation targetFormation = null,
      WorldPosition? targetPosition = null,
      MissionObject targetObject = null)
    {
      this.DecidingComponent = decidingComponent;
      this.DecisionCode = decisionCode;
      this.SubjectFormation = subjectFormation;
      this.TargetFormation = targetFormation;
      this.TargetPosition = targetPosition;
      this.TargetObject = targetObject;
    }
  }
}
